// 配置跨域
const { defineConfig } = require('@vue/cli-service')
const path = require("path");
function resolve(dir) {
  return path.join(__dirname, dir);
}
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  publicPath: "./",//公共基础路径配置
  // 8.130.164.140,120.55.61.102
  devServer: {
    port: 8080, // 端口
    proxy: {
      '/api': {  //   若请求的前缀不是这个'/api'，那请求就不会走代理服务器
        target: 'http://8.130.164.140:8070',  //这里写路径
        pathRewrite: { '^/api': '' }, //将所有含/api路径的，去掉/api转发给服务器
        ws: true,  //用于支持websocket
        changeOrigin: true   //用于控制请求头中的host值
      },
    }
  },
  chainWebpack: config => {
    // set svg-sprite-loader
    // 清除配置
    config.module
      .rule('svg')  //找到svg-loader 
      .exclude.add(resolve('src/components/iconSvg/icons'))  //排除目录
      .end()
    // 添加配置
    config.module
      .rule('icons')
      .test(/\.svg$/)  //正则匹配 格式为 svg
      .include.add(resolve('src/components/iconSvg/icons')) //只对src/icon 目录生效  当前目录指向自己项目svg的文件夹
      .end()
      .use('svg-sprite-loader')  //注入插件svg-sprite-loader
      .loader('svg-sprite-loader')  //添加loader
      .options({    //配置为 icon-文件名
        symbolId: 'icon-[name]'
      })
      .end()
    config.plugin('define').tap((definitions) => {
      Object.assign(definitions[0], {
        __VUE_OPTIONS_API__: 'true',
        __VUE_PROD_DEVTOOLS__: 'false',
        __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'
      })
      return definitions
    })

  },
})

